import { exec } from "child_process";

/**
 * 运行多个应用
 * @param commands 要运行的命令数组
 */
const runApps = (commands) => {
  commands.forEach((cmd) => {
    const process = exec(cmd, (error, stdout, stderr) => {
      if (error) {
        console.error(`执行命令时发生错误: ${error.message}`);
        return;
      }
      if (stderr) {
        console.error(`stderr: ${stderr}`);
      }
      console.log(`stdout: ${stdout}`);
    });

    // 监听子进程的输出（标准输出和标准错误）
    process.stdout?.on("data", (data) => console.log(data.toString())); // 输出日志
    process.stderr?.on("data", (data) => console.error(data.toString())); // 输出错误
  });
};

// 启动主应用 + 子应用
runApps([
  "cd src/main && yarn run dev",
  "cd src/react-app && yarn run dev",
  "cd src/vue-app && yarn run dev",
]);
